package com.jswdwsx.esign.service

import com.aliyun.oss.OSSClientBuilder
import com.jswdwsx.esign.config.OssProperties
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Service
import java.io.ByteArrayInputStream

@Service
class OssToolService(
    private val ossProperties: OssProperties,
    @Value("\${spring.application.name}")
    private val appName: String
) {

    fun updatePic(fileName: String, bytes: ByteArray): String {
        val fullName = "$appName/$fileName"
        // 创建OSSClient实例。
        val ossClient =
            OSSClientBuilder().build(ossProperties.endpoint, ossProperties.accessKeyId, ossProperties.accessKeySecret)

        // 上传内容到指定的存储空间（bucketName）并保存为指定的文件名称（objectName）。
        ossClient.putObject(ossProperties.bucketName, fullName, ByteArrayInputStream(bytes))
        // 关闭OSSClient。
        ossClient.shutdown()
        return ossProperties.ossUrl + fullName
    }
}
